﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Quartz;

namespace Wosperry.QuartzJob
{
    public interface IQuartzJobService
    {
        void Start<TJob>(Action<QuartzJobOptions> optionAction, Dictionary<string, string> jobData = null) where TJob : IJob;
        void Start<TJob>(QuartzJobOptions options, Dictionary<string, string> jobData = null) where TJob : IJob;
        Task StartAsync<TJob>(Action<QuartzJobOptions> optionsAction, Dictionary<string, string> jobData = null) where TJob : IJob;
        Task StartAsync<TJob>(QuartzJobOptions options, Dictionary<string, string> jobData = null) where TJob : IJob;
    }
}